package view.client;

import server.controlleurs.lobby.LobbyControlleur;
import server.models.participant.IParticipant;
import server.models.PosteDeTir;
import server.models.participant.Participant;
import server.models.tireur.ITireur;
import view.partie.PartieView;
import view.utils.JOptionPaneFactory;

public class Connexion {

	private LobbyControlleur lobbyControlleur = null;
	private Client client = null;

	public Connexion() {
		this.lobbyControlleur = new LobbyControlleur();
		this.client = new Client();
	}

	public void initialiseJeu() {
		PartieView partie = new PartieView(this.lobbyControlleur.getPartie(0));
		this.client.setPartie(partie);

		this.initialise4Joueurs();
	}

	private void initialise4Joueurs() {
		String message = "Choisissez votre nom";
		while(this.lobbyControlleur.getListeParticipants().size() != 4) {
			String nom = JOptionPaneFactory.choisirNomDeParticipant(message);

			if (nom == null) {
				return;
			} else if (nom.length() > 0) {
				Participant participant = new Participant(client, nom);
				this.lobbyControlleur.ajouterParticipant(participant);
				try {
					this.lobbyControlleur.joindrePartie(participant);
					
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				message = "Choisissez votre nom";
			} else {
				message = "Veuillez entrer un nom";
			}
		}
	}
	
	public static void main(String[] args) {
		Connexion connection = new Connexion();
		connection.initialiseJeu();
	}
}
